package com.pubinfo.passbook.common.model.bo.witeoff.subitem;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@ApiModel(value = "SubitemBase", description = "报账子单,接收前端报账单数据")
public class SubitemBase implements Serializable {
  public static final long serialVersionUID = 6333195621389709724L;
  @ApiModelProperty(hidden = true)
  public String otherSystemDetailId;
  @ApiModelProperty(value = "用途编码 非必须 可由业务提供，经济事项存在用途时必填。 " +
      " (在职及供属医药费)-生产 U349 测试环境 U243  " +
      " (退休员工医药费) -U243, (环保费) U219 或U220  , " +
      "(社会团体会费)- 生产 U541 测试环境 U165")
  public String usageCode;
  
  @ApiModelProperty(value = " 经济事项存在用途时必填   (在职及供属医药费)-  补充医疗特需资金  , (退休员工医药费) -离退休人员体检费、医疗及供养亲属医药费, (环保费)  垃圾处理或 污水处理 , (社会团体会费)- 团体会费")
  public String usageName;
  
  @ApiModelProperty(value = "列账属性 必须 选项：" +
      "1-是：使用成本/资本预算，2-否：不使用成本/资本预算，" +
      "3-否：不使用成本预算（统付），4-建管费  (在职及供属医药费) - " +
      " 如果是在职 默认为2 供属默认为1,\n" +
      "   * (退休员工医药费) 、(环保费)、(社会团体会费)- 存续：默认2 上市：默认1")
  public Integer budgetType;
  
  @ApiModelProperty(value = "子单金额 通过审核规则计算得出")
  public BigDecimal sum;
  
  @ApiModelProperty(value = "摘要")
  public String desc;
  public Integer inputTaxSum = 0;
  public BigDecimal priceSum;
  @ApiModelProperty(value = "预算指标编码 非必须 可以通过“获取预算指标模板”接口获取 (在职及供属医药费) - CW0230\n" +
      "   (退休员工医药费)- CW1144、(环保费) -CW1145 、(社会团体会费)- CW1145")
  public String budgetItemCode;
  
  @ApiModelProperty(value = "预算指标名称  (在职及供属医药费) - 职工福利\n" +
      "   *     (退休员工医药费)- 离退休费用、(环保费) -其他 、(社会团体会费)- 其他")
  public String budgetItemName;
  @ApiModelProperty(value = "预算责任中心编码 非必须 可以通过“获取下级预算组织” 接口获取")
  public String budgetOrgCode;
  
  @ApiModelProperty(value = "预算责任中心名称")
  public String budgetOrgName;
  @ApiModelProperty(value = "记账成本中心编码 非必须 “列账属性”为1必填")
  public String sapCostCenterCode;
  
  @ApiModelProperty(value = "记账成本中心名称 非必须 “列账属性”为1必填")
  public String sapCostCenterName;
  
  @ApiModelProperty(value = "利润中心编码 非必须 “列账属性”为2必填 可从SAP获取基础数据")
  public String profitsCenterCode;
  
  @ApiModelProperty(value = "利润中心名称 非必须 “列账属性”为2必填")
  public String profitsCenterName;
  
}
